package org.lanyu.springainovel.chat.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.List;

@Schema(name = "AI提问参数")
@Data
public class QuestionVO {

    public QuestionVO() {
        super();
    }

    @Schema(description = "用户唯一标识")
    private Long userId;
    @Schema(description = "会话唯一标识")
    private String sessionId;
    @Schema(description = "对话索引")
    private Integer contentIndex;
    @Schema(description = "用户输入的消息内")
    @NotEmpty(message = "消息不能为空")
    private String message;
    @Schema(description = "使用的模型ID")
    @NotNull(message = "模型ID不能为空")
    private Long modelId;
    @Schema(description = "上传的文件列表，以Base64编码字符串表")
    private List<String> filebase64s;
    @Schema(description = "是否启用联网搜索功能")
    private Boolean networking;
    @Schema(description = "是否开启记")
    private Boolean memory;
    @Schema(description = "系统提示词模板ID")
    private Long systemPromptId;
    @Schema(description = "是否是新会话")
    private Boolean newChat = false;
    @Schema(description = "知识库id")
    private Long knowledgeId;
    @Schema(description = "是否使用工具")
    private Boolean useTools;
    @Schema(description = "最大消息长")
    private Integer maxTokens = 8;
    

}
